Apparatus and method for 2{40 s complement subtraction

ABSTRACT

This invention is a method and apparatus for performing 2&#39;&#39;s complement subtraction. Each bit of the minuend is first inverted and then added to the corresponding bit of the subtrahend. Carries out of the most significant bit, the sign bit, are ignored. The resulting bits which have been added are then inverted, yielding the desired difference in 2&#39;&#39;s complement form.

United States Patent Brendzel June 11, 1974 APPARATUS AND METHOD FOR 2's 3.584.206 6/1971 Evans 235/176 x COMPLEMENT SUBTRACTION 3,631,231 12/1971 Lagemann 235/176 75 I H T B dul P 3.699.326 10/1972 Kindell et a1. 235/175 nventor. Nejnry zvl ren arslppany, OTHER PUBLICATIONS Langdon, Subtraction by Minuend Complementa- 1731 Asslgnee- Telephole hormones, 666," IEEE Trans. On Comp., Jan, 1969. pg. 74-76.

Incorporated, Berkeley Heights, Primary Examiner-Charles E. Atkinson 22 Ffl d; Man 12, 1973 Assistant Examiner-James F. Gottman Attorney, Agent, or Firm-R. O. Nimtz [21] Appl. No.: 340,213

[57] ABSTRACT [52] US. Cl 235/168, 235/175, 235/176 This invention is a method and apparatus for perform- [51] Int. Cl. G06f 7/385 ing 2s complement subtraction. Each bit of the minu- [58] Field of Search 235/168, 173, 174, 175, end is first inverted and then added to the correspond- 235/176 ing bit of the subtrahend. Carries out of the most signiflcant bit, the sign bit, are ignored. The resulting bits [56] References Cited which have been added are then inverted, yielding the UNITED STATES PATENTS desired difference in 2s complement form.

3,437,801 4/1969 Wilhelm 235/176 X 4 Claims, 5 Drawing Figures I 302 304 8 A INVERT 300 EACH BIT 303 ADD A TO B INPUTS IN 2'5 INVERT AB OUTPUT IN 2'5 COMPLEMENT Q05 EACH BIT 1 COMPLEMENT B NEGLECT ANY CARRY k OUT OF SIGN BIT 1 APPARATUS AND METHOD or; 2s

COMPIJWENT SUBTRACTION GOVERNMENT CONTRACT BACKGROUND OF THE INVENTION 1. Field of the Invention This invention relates to a method and apparatus for subtracting one number from another where both numbers, and the resulting difference number, are all represented in signed 2s complement notation.

2. Description of the Prior Art Recent years have seen an enormous growth in the field of digital technology. An important segment of this technology is that of performing arithmetic operations on digital signals which represent numbers. The term digital usually means that the circuitry involved logically connects elements which are either on" or of or which have two states, a 1 state or a state. This two-state circuitry is said to deal with binary sig nals, l's or Os.

Binary signals are useful in representing numbers. The binary number system is such that a sequence of 1's or 0's, or bits," represents any common decimal number. For example, the decimal number 13 is represented in binary as 01 101. The rule for translating from the binary system to the decimal number system is to multiply each 1 or 0 by 2", where m represents the place in the sequence each bit occupies. For the least significant bit, m 0, the next significant bit, m 1, etc. For the example 0110], the decimal number is found by Several different ways have been found to accomplish the representation of negative numbers in binary form. Among those in common use are signed magnitude, signed 2s complement, and signed ls complement. FIG. 1 illustrates the different representations for the decimal numbers +13, 13, +7, and -7. In all three representations, the most significant bit is a sign bit. The sign is represented by a 0, while the sign is represented by a 1. Positive numbers are represented in the same way in all three systems (e.g., representations of+l3 and +7 in FIG. 1).

Negative numbers are represented differently. The signed magnitude representation merely represents the decimal number in binary, and designates the most significant bit as a l to indicate a negative sign. The decimal number 7 is represented as 1,001 1 l, the most significant bit being the negative sign bit, the other bits corresponding to binary 7. The signed ls complement representation follows immediately by inverting each bit except the sign bit of the signed magnitude representation: 1.111000. This representation is called ls complement and is found by the relation (2 1 N), where N is the decimal equivalent of the binary representation, and n is the number of significant bits. For this case, (2 1 24) (32 25) 7, the sign bit indicating that 1,1 1000 represents -7 in decimal.

The 2s complement representation is generated from the 1's complement representation by adding a I to the least significant bit. Thus, -7, in signed 2s complement representation, is 1,1 1001. The decimal equivalent is found by (2" N) [2 (2 2 2)] [32-25] -7.

Prior art subtractors perform subtraction in the 2s complement system by (I) inverting each bit of the subtrahend, (2) adding the inverted subtrahend to the minuend, neglecting any carry out of the sign bit, and (3) adding a l to the least significant digit of the result. FIG. 2 shows, in block diagram form, the prior art method for performing 2s complement subtraction. The method is explained in The Logic of Computer Arithmetic, by Ivan Flores, Prentice-Hall, 1963, at page 40.

Signed 2s complement subtraction units are useful in arithmetic units of general purpose digital computers, as well as in special purpose applications. 2s complement subtraction can be used with either parallel or serial arithmetic operations. Parallel operation implies the use of a hard-wired full-adder circuit for each bit. Each adder is operated simultaneously, with the provision for subsequent carries to propagate from one bit position to another. Serial operation implies the use of one adder stage, where one adder stage is used first to add the two least significant bits,'store the result in an output register, insert any carry produced into the carry input of the adder, and shift the next two bits in to be added. The operation is repeated until all bits have been added.

Thus, both serial and parallel designs for 2s complement subtractors require that provision be made for adding a unit pulse to the least significant digit. The unit pulse can be added during or after the addition of the minuend to the inverted subtrahend. The prior art requirement of adding a unit pulse to the least significant digit as a step in the subtraction method necessitates expensive circuitry, (l) to generate the pulse and (2) to control the timing of the extra addition step.

It is an object of this invention to provide a method and apparatus for 2s complement subtraction without providing for the adding of a unit pulse.

SUMMARY OF THE INVENTION This object is achieved in accordance with this invention by providing a method and apparatus such that each bit of the minuend is inverted and added to each bit of the subtrahend. Each resulting bit is then inverted to achieve the desired difference in signed 2s complement form.

BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1 shows the relationship among signed magnitude, signed ls complement, and signed 2s complement number systems when they represent positive and negative decimal numbers;

FIG. 2 is a functional diagram of the prior art method of subtracting two numbers in 2s complement representation;

FIG. 3 is a functional diagram of the method of this invention for subtracting two numbers in 2s complement representation;

FIG. 4 is a circuit diagram for using this invention in a serial arithmetic application for subtracting two numbers in 2s complement representation; and

FIG. 5 is a circuit diagram for using this invention in a parallel arithmetic application for subtracting two numbers in 2s complement representation.

DESCRIPTION OF THE INVENTION FIG. 3 shows in block diagram form a new method to perform 2s complement subtraction. Each bit of the minuend is inverted and added to the subtrahend neglecting any carry out of the sign bit. Each bit of the result is inverted to achieve the desired subtraction in 2s complement form.

The following examples demonstrate numerically the simplicity of the method.

EXAMPLE 1 Determine A-B where A=+13 0.01101 B= -7 1.11001 steplzinvertA 1,10010 step 2: add B 1 11001 neglect carry out of sign bit 1, l 11 step 3: invert result 0,10100-1-20 in 2's complement EXAMPLE 2 Determine A-B where A=7 1.11001 B=+l3 ....0,01l01 step 1: invert A 0,00110 step2zaddB 0.01101 6 21 l step 3: invert 1,01 IOU- 20 in 2's complement result EXAMPLE 3 Determine A-B where A=+l3 0,01101 B=+7....0,0011l step lzinvertA 1,10010 step2zaddB 000111 Ff Q01 step 3: invert 0,001l=+6 in 2's complement result EXAMPLE 4 Determine A-B where A=+7 0.00111 B= +l3 0.01101 step 1: invert A 1,11000 step 2: addB 0,01101 0,001 01 neglect carry out sign bit step 3: invert result 1.1 10l0=6 in 2's complement These examples demonstrate that the simple procedure gives correct results for 2s complement representation of numbers. To further demonstrate the method, informal proofs are shown which exhaust all combinations of positive and negative minuends and subtrahends which could be offered to a subtractor embodying the method.

Let n represent a fixed number of bits which determines the largest magnitude of decimal numbers the subtractor can manipulate. The restriction 2" A l [B l establishes bounds on the size of the minuend A and the subtrahend B. With a modulus of 2", inversion of A yields 2" 1 A. The 2s complement of A is 2" A. Since the computation is done in modula 2", arithmetic factors of 2" can be subtracted or added, yielding equivalent results.

Case A: A and B positive numbers represented in 2s complement form FIG. 3 shows the invention in simple block diagram form. The minuend A on lead 300 and subtrahend B on lead 301 are presented to the subtractor unit as signals representing bits of 2s complement numbers. Each bit of the minuend A on lead 300 is inverted, the result being A on lead 303; A on lead 303 and B on lead 301 are added according to the rules of binary arithmetic in adder 304 where the addition is performed ignoring any carries out of the sign bit. Each bit in the output on lead 305 from the adder 304 is inverted by inverter 306 to achieve the desired output, AB on lead 307 in 2s complement form.

FIG. 4 shows the invention as it can be used in a serial arithmetic application. Each bit of the minuend A and subtrahend B is serially applied to subtractor input leads 402 and 403. The bits are shifted in serially such that the least significant bit is shifted first. NAND gate 404, commercially available as SN7400 (see The Integrated Circuits Catalog, First Edition, Texas Instruments, 1nc., reference number CC-40l acts to invert each bit, such that the inverted A bit and the B bit are input into the full adder circuit 406, commercially available as SN7482. A clock pulse triggers a flip-flop circuit 408, commercially available as SN7474, which transmits a carry bit over line 409 to adder 406 if a carry bit from the previous addition was generated. Of course, there will be no carry bit for the least significant bit because the control circuit is cleared of any carry bits once an entire addition has been performed. The output bits from the S lead 411 of the adder circuit are inverted by the NAND gate 412. The resulting serial bits on lead 413 are the corresponding bits of the desired difference between A and B in 2s complement representation.

FIG. 5 shows the invention as it can be used in a parallel arithmetic application. For n+1 bit words, n+1 full adders, 500 501 590, are shown where only the least significant and most significant bit adders are shown; other adders and bits are represented by dots 502. Full adders are corr1 m ercia lly available as SNf/QSZ. Each A bit is inverted with a NAND gate 510 511 591 and each pair of bits B A Bx, B5, are input on the respective B and A input leads of their respective adders. The least significant bit adder 500 has its carry-in lead connected to ground 540. All subsequent adders have their input carry leads connected to the output carry lead from the previous adder. For examlple, lead 541 connects the output carry from the B 0 addition to the input carry for the B A addition. Carries 591 out of the most significant addition stage 590 are ignored. The output of each adder is inverted by another NAND gate 520 521 522. All NAND gates shown are commercially available as SN7400. The output of the respective NAND gates 520 521 522 correspond to the respective bits of the desired output number (A-B).

What is claimed is:

l. A serial arithmetic subtractor for 2s complement binary signals comprising:

a serial binary adder circuit;

a source of N minuend signals;

a first inverter circuit interposed between said source of minuend signals and said adder circuit;

a source of N subtrahend signals connected to said adder circuit; and

inverting means for inverting only the N least significant signals which result from said adder circuit.

2. A parallel arithmetic subtractor for 2s complement binary signals comprising:

source of N minuend signal bits;

a plurality of binary adder circuits, one such adder circuit provided for each signal bit, the carry-in lead of the adder of the nth stage beingconnected to the carry-out lead of the mist stage, where n 1,1,2, N and represents the order of the signal bit in the minuend or subtrahend;

an inverter circuit interposed between said source of minuend signal bits and each of said respective adder circuits;

a source of N subtrahend signal bits, each corresponding respectively to a minuend signal bit, a connected to said respectively provided adder source; and

an inverter circuit connected to the output of each of said adder circuits to invert only the N least significant bits.

3. A method for obtaining a signal indicating the difference between two binary bit streams in 2s complement form comprising the steps of applying the minuend bit stream of N bits to a first inverter circuit;

applying the subtrahend and inverted minuend bit streams each of N bits to an adder circuit; applying the suni bit stream from said adder to a second inverter circuit; and utilizing only the N least significant bits from said second inverter.

4. Apparatus for subtracting one number from another wherein both numbers are represented by bit streams in signed 2s complement form comprising:

means for inverting each bit of the minuend bit stream of N bits;

means'for adding the subtrahend bit stream of N bits to said inverted minuend; and

means for inverting only the N least significant bits which results from said adding means.

uNfiEusTATE s PATENT OFFICE CERTIFICATE OF CORRECTION Patent No. 3, ,6 ,73 Dated June 11, 197

Ihvntofl s) Henry .T.' Brendzel It is certified that error appears in the above-identified patent and that said Letters Patent are hereby corrected as shown below:

lhe aclclre'ss of the Assignee should read "Murray Hill, Berkeley Heights, New Jersey--.

Column 1, line 58, change"l,lllOOO" to --1,11ooo--.

Column 3, line 19, after "O,lOlOO" change to Column 3, line 65, change "modula" to --modulo--. Column L, line 7, change 1- B to B I Column 6, line 5, change "1, 1,2" to --O, l, 2-'-; Column 6, line ll, delete "a", second occurrence.

Signed and sealed this 22nd day of October 1974.

(SEAL) Attest:

McCOY M. GIBSON JR. C. MARSHALL DANN Arresting Officer Commissioner of Patents FOR M P0-\0 0 (1 uscoMM-Dc 60376-969 9 1.5, GOVERNMENT PRINTING OFFICE: I969 0-3 6-3?! 

1. A serial arithmetic subtractor for 2''s complement binary signals comprising: a serial binary adder circuit; a source of N minuend signals; a first inverter circuit interposed between said source of minuend signals and said adder circuit; a source of N subtrahend signals connected to said adder circuit; and inverting means for inverting only the N least significant signals which result from said adder circuit.
 2. A parallel arithmetic subtractor for 2''s complement binary signals comprising: source of N minuend signal bits; a plurality of binary adder circuits, one such adder circuit provided for each signal bit, the carry-in lead of the adder of the nth stage being connected to the carry-out lead of the n-1st stage, where n 1,1,2, . . . N and represents the order of the signal bit in the minuend or subtrahend; an inverter circuit interposed between said source of minuend signal bits and each of said respective adder circuits; a source of N subtrahend signal bits, each corresponding respectively to a minuend signal bit, a connected to said respectively provided adder source; and an inverter circuit connected to the output of each of said adder circuits to invert only the N least significant bits.
 3. A method for obtaining a signal indicating the difference between two binary bit streams in 2''s complement form comprising the steps of applying the minuend bit stream of N bits to a first inverter circuit; applying the subtrahend and inverted minuend bit streams each of N bits to an adder circuit; applying the sum bit stream from said adder to a second inverter circuit; and utilizing only the N least significant bits from said second inverter.
 4. Apparatus for subtracting one number from another wherein both numbers are represented by bit streams in signed 2''s complement form comprising: means for inverting each bit of the minuend bit stream of N bits; means for adding the subtrahend bit stream of N bits to said inverted minuend; and means for inverting only the N least significant bits which results from said adding means. 